﻿
//type提示类型 qyStr验证区域对象
function verfic(type, qyStr) {
    var zzs = /^\d+$/;//正整数+0
    var fzs = /^-[0-9]*[1-9][0-9]*$/;//负整数
    var int = /^-?[0-9]\d*$/;//整数
    var double = /^-?\d+(\.\d{1,2})?$/;//浮点数 小数点后最多2位
    var dob5 = /^-?\d+(\.\d{1,5})?$/;//浮点数 小数点后最多5位

    var email = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;//邮箱
    var yzbm = /^[1-9]\d{5}$/;//邮政编码
    var dhhm = /\d{3}-\d{8} &brvbar;\d{4}-\d{7}/;//电话号码(国内)
    var sjhm = /^1[3|4|5|8][0-9]\d{4,8}$/;//手机号码
    var tele = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})(8869[0-7]{1})|(8526[0-7]{1})||(18[0-9]{1}))+\d{8})$/;//验证手机号码
    var qq = /^[1-9]*[1-9][0-9]*$/;//QQ号码
    var zh = /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//账号
    var date = /(\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))/;//日期(年月日)
    var time = /((1|0?)[0-9]|2[0-3]):([0-5][0-9])/;//时间(小时:分钟, 24小时制)
    var sfz = /\d{15}|\d{18}/;//身份证
    var ip = /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/;//ip地址

    //var ispageNo=/^(([0-9])([-]{1}))?([0-9])+$/;   /*验证页码 99或99-199*/
    var ispageNo = /(^\d+-\d+$)|(^\d+$)/;//验证页码 99或99-199



    var bo = true;
    $(qyStr).find("input[type='text'],input[type='password'],input[type='hidden'],input[type='number'],select,textarea,table").each(function (i) {
        var val = $.trim($(this).val());//文本框的值
        var dataType = $(this).attr("dataType");//需要验证的类型
        var msg = $(this).attr("Msg");//验证不正确时显示的文本信息

        var len = $(this).attr("length");

        if (dataType != undefined) {
            //验证非空
            if (dataType.indexOf("null") != -1 && val == "") { showMsg(type, msg); $(this).focus(); bo = false; return false; }
            if (val != "") {
                //验证正整数
                if (dataType.indexOf("zzs") != -1 && zzs.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //验证负整数
                if (dataType.indexOf("fzs") != -1 && fzs.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //验证整数
                if (dataType.indexOf("int") != -1 && int.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //验证浮点数
                if (dataType.indexOf("double") != -1 && double.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                if (dataType.indexOf("dob5") != -1 && dob5.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }

                //验证邮箱
                if (dataType.indexOf("email") != -1 && email.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //邮政编码
                if (dataType.indexOf("yzbm") != -1 && yzbm.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //电话号码
                if (dataType.indexOf("dhhm") != -1 && dhhm.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //手机号码
                if (dataType.indexOf("sjhm") != -1 && sjhm.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //QQ号码
                if (dataType.indexOf("qq") != -1 && qq.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //帐号(字母开头，允许5-16字节，允许字母数字下划线)
                if (dataType.indexOf("zh") != -1 && zh.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //日期(年月日)
                if (dataType.indexOf("date") != -1 && date.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //时间(小时:分钟, 24小时制)
                if (dataType.indexOf("time") != -1 && time.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //身份证
                if (dataType.indexOf("sfz") != -1 && sfz.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                //ip地址
                if (dataType.indexOf("ip") != -1 && ip.test(val) == false) { showMsg(type, msg); $(this).focus(); bo = false; return false; }
                if (dataType.indexOf("ispageNo") != -1 && ispageNo.test(val)==false) {
                    showMsg(type, msg); $(this).focus(); bo = false; return false;
                }
                //相等
                if (dataType.indexOf("dengyu") != -1) {
                    var inputId = $(this).attr("inputId");
                    var inputVal = $.trim($("#" + inputId).val());
                    if (val != inputVal) {
                        showMsg(type, msg);
                        $(this).focus();
                        bo = false;
                        return false;
                    }
                }
                //大于
                if (dataType.indexOf("dayu") != -1) {
                    var inputId = $(this).attr("inputId");
                    var inputVal = $.trim($("#" + inputId).val());
                    if (parseFloat(val) <= inputVal) {
                        showMsg(type, msg);
                        $(this).focus();
                        bo = false;
                        return false;
                    }
                }
                //小于
                if (dataType.indexOf("xiaoyu") != -1) {
                    var inputId = $(this).attr("inputId");
                    var inputVal = $.trim($("#" + inputId).val());
                    if (parseFloat(val) >= inputVal) {
                        showMsg(type, msg);
                        $(this).focus();
                        bo = false;
                        return false;
                    }
                }
            }
        }

        if (len != undefined) {
            if (val.length != len) {
                    showMsg(type, msg);
                    $(this).focus();
                    bo = false;
                    return false;
                }
        }
    })
    return bo;
}

function showMsg(type, msg) {
    //弹框样式
    if (type == "tip") {
        showTip(msg, 2);
    }
    else if (type == "alert") {
        $.jBox.alert(msg, "提示");
    }
    else if (type == "info") {
        $.jBox.info(msg, "提示");
    }
    else if (type == "success") {
        $.jBox.success(msg, "提示");
    }
    else if (type == "error") {
        $.jBox.error(msg, "提示");
    }
    else {
        alert(msg);
    }
}